#ifndef PLAYER_H
#define PLAYER_H

#include <QObject>
#include <qchar.h>
#include <qstring.h>
#include <qpair.h>

#include "GameView.h"

class Player
{

public:
	Player(GameView& gameView);
	~Player();

	inline QChar getMarker() const
	{
		return this->marker;
	}
	
	bool setName(const QString & name)
	{
		this->name = name;
	}

	inline bool setMarker(const QChar & marker)
	{
		this->marker = marker;
	}

	inline QString getName() const
	{
		return this->name;
	}

	inline QPair<int,int> getLastTurn() const
	{
		return this->lastTurn;
	}

	virtual void  turn() = 0;

signals:
	void turnFinished();

private:
	QChar marker;
	QString name;
	QPair<int,int> lastTurn;
	GameView & gameView;
	
};

#endif // PLAYER_H
